package com.app.service.article;

import com.app.domain.po.article.ArticlePo;
import com.app.domain.vo.article.ArticleVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 文章公共方法
 */
public interface ArticleCommonService extends IService<ArticlePo> {

    /**
     * 更新文章访问数量
     *
     * @param articleId 文章ID
     */
    void updateLookCount(Long articleId);

    /**
     * 更新文章点赞数量
     *
     * @param articleId 文章ID
     * @param amount    数量
     */
    void updateLikeCount(Long articleId, Integer amount);

    /**
     * 更新文章评论数量
     *
     * @param articleId 文章ID
     * @param amount    数量
     */
    void updateCommentCount(Long articleId, Integer amount);

    /**
     * 文章批量添加菜单信息和用户信息
     *
     * @param articleVos 文章集合
     */
    void batchSetMenuAndUser(List<ArticleVo> articleVos);

    /**
     * 获取文章Map
     *
     * @param articleIds 文章ID集合
     */
    Map<Long, ArticleVo> getArticleMap(List<Long> articleIds);

}